# 在Python中，有几种常见的字符串定义方式：
print("-------------------------------1.字符串创建方式-------------------------------")
# 1.单引号（'）或双引号（"）括起来的字符串：例如：
my_string = 'Hello, world!'
# 或
my_string = "Hello, world!"

# 2.三重引号（'''）或三重双引号（"""）括起来的多行字符串：
my_string = '''
   This is a multi-line
   string.
   '''

my_string = """
   This is another
   multi-line string.
   """

# 3.转义字符（\）用于在字符串中插入特殊字符，例如：
my_string = "I\'m a programmer."

# 4.使用r前缀创建原始字符串，可以避免转义字符的处理，例如：
my_string = r"C:\path\to\file.txt"

print("-------------------------------2.字符串拼接-------------------------------")
# 7.字符串拼接，使用加号（+）进行字符串拼接：
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result)  # 输出：Hello World

print("-------------------------------3.字符串格式化-------------------------------")
# 5.字符串格式化使用百分号（ % ）或format()
"""
百分号占位符：

%s：表示字符串
%d：表示整数
%f：浮点数
%e：指数表示法的浮点数
%g：浮点数（根据情况选择%f或%e）
%x：整数的十六进制表示
%o：整数的八进制表示
"""
# 方法：百分号格式化：
name = "Alice"
age = 25
my_string = "My name is %s and I'm %d years old." % (name, age)
print(my_string)

# format()方法格式化：使用 {} 占位符，并通过 format() 方法传递参数
name = "Alice"
age = 26
my_string = "My name is {} and I'm {} years old.".format(name, age)
print(my_string)

# 6.使用f - string进行格式化，从Python3.6版本开始提供：
name = "Alice"
age = 27
my_string = f"My name is {name} and I'm {age} years old."
print(my_string)

print("-------------------------------4.字符串格式化-数字精度控制-------------------------------")

"""
百分号占位符-数字精度控制
m.m：控制数据的宽度和精度
m：控制宽度，要求是数字，设置的宽度小于数字自身，不生效
n：控制小数点精度，要求是数字，会进行小数的四舍五入
"""
num = 3.1415926
formatted_num = "%.2f" % num
print(formatted_num)  # 输出结果为3.14

"""
format格式化-数字精度控制
使用"{:.nf}"来指定数字的精度
例如，"{:.2f}"表示保留两位小数
"""
num = 3.1415926
formatted_num = "{:.2f}".format(num)

print(formatted_num)  # 输出结果为3.14

print("-------------------------------5.字符串练习-------------------------------")

# 定义需要的变量

name = "物流大佬"

stock_price = 19.99

stock_code = "0098243"

stock_price_daily_growth_factor = 1.2

growth_days = 7

finally_stock_price = stock_price * stock_price_daily_growth_factor ** growth_days

print(f"公司：{name}，股票代码：{stock_code}，当前股价：{stock_price}")
print("每日增长系数：%.1f，经过%d天的增长后，股价达到了：%.2f" % (stock_price_daily_growth_factor, growth_days, finally_stock_price))
